package com.example.designpattern.structural.proxy.static_proxy.http;

public class HttpProxy implements IHttp {
    private final HttpUtil httpUtil;

    public HttpProxy(HttpUtil httpUtil) {
        this.httpUtil = httpUtil;
    }

    /**
     * 现在我们在 HttpProxy 中新增打印日志信息：
     * @param sendData
     */
    @Override
    public void request(String sendData) {
        System.out.println("发送数据:" + sendData);
        httpUtil.request(sendData);

        // 读者看到这里可能已经发现了，这个代理类看起来和装饰模式的 FilterInputStream 一模一样，
        // 但两者的目的不同，装饰模式是为了增强功能或添加功能，代理模式主要是为了加以控制。
    }

    @Override
    public void onSuccess(String receivedData) {
        System.out.println("收到数据:" + receivedData);
        httpUtil.onSuccess(receivedData);
    }


}

